/*
 *  Setting.h
 *  
 *
 *  Created by Peter on 23.02.12.
 *  Copyright 2012 __MyCompanyName__. All rights reserved.
 *
 */

#ifndef A_SETTING_H
#define A_SETTING_H

#include "AObject.h"

class AAttrList; // in AAttrList.h

/*
 * Base class for all settings classes, like Bin Biew Settings, Import Settings,
 * UI Settings etc. 
 *
 * Versions:
 *   MC 7 (old versioning scheme): 6
 *   MC 5.5: 6
 */
class ASetting : public AObject
{
	
public:
	
	A_DECLARE_CLASS( 'ASET', ASetting, AObject );
	
	void readFromStream( AStream& stream, const AObjDoc& objd );
	
	void dump( std::ostream& str ) const;
	
	// ----- data members -----
	
	std::string _name;       // "Untitled"
	std::string _kind;       // "General", "Audio Project", ...
	Int16       _attributes; // basically always 16
	Int16       _type;       // usually 16, 18 or 32
	AAttrList*  _attrList;   // Corresponding attribute list
	
};

#endif /*Inclusion Guard*/